package com.sqx.modules.taking.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.Result;
import com.sqx.modules.taking.entity.OrderTaking;
import org.springframework.web.bind.annotation.RequestAttribute;

import java.math.BigDecimal;

public interface OrderTakingService extends IService<OrderTaking> {
    /**
     *
     */
    Result queryTaking(String city,String longitude, String latitude, Long userId, String like, Integer condition,
                       Long bannerid, Long isRecommend, String id, IPage iPage, Long sex, String by,
                       Integer classify,String salesNum);

    /**
     * 查询乐享低价系列
     *
     * @return
     */
    Result queryLowTaking(Integer page,Integer limit,String city,String longitude, String latitude, Long userId,
                          String like, Integer condition, Long bannerid, Long isRecommend, String id,
                          Long sex, String by,Integer classify,String salesNum);


    /**
     * 接单详情
     */
    Result queryTakingDetails(Long id, Long userId,String longitude,String latitude);

    Result queryTakingDetails(Long id,String longitude,String latitude);

    /**
     * 发布接单
     */
    Result insertOrderTaking(OrderTaking orderTaking,Integer admin);

    /**
     * 查看我的发布
     *
     * @return
     */
    Result selectMyRelease(Long userId, Long page, Long limit, String status);

    /**
     * 删除接单
     */
    Result deleteOrderTaking(Long id);

    /**
     * 查询所有接单
     */
    Result queryAllOrderTaking(Integer page,Integer limit,String city, String gameId, Long status, String userName, Long userId,
                               Integer classify,Integer isRecommend,String myLevel);

    /**
     * 审核接单
     */
    Result auditorOrderTaking(Long id, Integer status,String content);

    /**
     * 修改发布订单
     */
    Result updateTakingStatus(Long id, Integer status,String content);

    /**
     * 删除发布接单
     */
    Result deleteTaking(Long id);

    /**
     * 查询接单详情
     */
    Result queryTakingOrder(Long id);

    /**
     * 修改接单详情
     */
    Result updateTakingOrder(OrderTaking orderTaking,Integer admin);

    Result updateTakingOrders(OrderTaking orderTaking,Integer admin);

    /**
     * 查看我的接单
     */
    Result queryMyTakingOrder(Long userId,Long page, Long limit,Long status);

    Result selectShopData(@RequestAttribute Long userId,String startTime,String endTime);

}
